package com.young.shop.api.service;

import com.young.shop.pojo.entity.Address;
import com.young.shop.pojo.entity.User;
import com.young.shop.pojo.vo.UserVO;

import java.util.List;
import java.util.Map;

/**
 * @author 曾家乐
 * @version 1.0
 * @date 2021-01-08 10:26
 *
 * 用户业务处理
 */
public interface UserService {

    /**
     * 用户登录判断
     * @param userName
     * @param password
     * @return 标准返回信息对象
     */
    UserVO userLogin(String userName, String password);

    /**
     * 用户注册
     * @param user
     * @param code
     * @param codeMap
     * @return
     */
    UserVO userRegister(User user,String code, Map codeMap, boolean check);

    /**
     * 修改密码
     * @param id
     * @param oldPwd
     * @param newPwd
     * @param repeatPwd
     */
    void updatePassWord(long id,String oldPwd, String newPwd, String repeatPwd);

    /**
     * 新增一条用户地址信息
     * @param address
     * @return
     */
    void userAddress(Address address);

    /**
     * 展示用户地址信息
     * @param userId
     * @return
     */
    List showAddressList(long userId);

    /**
     * 删除地址
     * @param userId
     * @param id
     */
    void delAdd(long userId, long id);

    /**
     * 请求用户信息
     * @param id
     * @return
     */
    UserVO showInformation(long id);

    /**
     * 修改用户信息
     * @param user
     */
    void updateInformation(User user);

    /**
     * 修改用户地址信息
     * @param address
     */
    void updateAddress(Address address);

    Address selectAddressById(long id);
}
